package com.yjq.programmer.controller.admin;

import com.yjq.programmer.dto.MusicMenuDTO;
import com.yjq.programmer.dto.MusicMenuItemDTO;
import com.yjq.programmer.dto.PageDTO;
import com.yjq.programmer.dto.ResponseDTO;
import com.yjq.programmer.service.IMusicMenuService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * @author 杨杨吖
 * @QQ 823208782
 * @WX yjqi12345678
 * @create 2022-11-21 16:50
 */
@RestController("AdminMusicMenuController")
@RequestMapping("/admin/music/menu")
public class MusicMenuController {

    @Resource
    private IMusicMenuService musicMenuService;


    /**
     * 分页获取歌单数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<MusicMenuDTO>> getMusicMenuListByPage(@RequestBody PageDTO<MusicMenuDTO> pageDTO){
        return musicMenuService.getMusicMenuListByPage(pageDTO);
    }

    /**
     * 保存歌单数据(添加、修改)
     * @param musicMenuDTO
     * @return
     */
    @PostMapping("/save")
    public ResponseDTO<Boolean> saveMusicMenu(@RequestBody MusicMenuDTO musicMenuDTO){
        return musicMenuService.saveMusicMenu(musicMenuDTO);
    }

    /**
     * 删除歌单数据
     * @param musicMenuDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeMusicMenu(@RequestBody MusicMenuDTO musicMenuDTO){
        return musicMenuService.removeMusicMenu(musicMenuDTO);
    }

    /**
     * 删除歌单详情数据
     * @param musicMenuItemDTO
     * @return
     */
    @PostMapping("/removeItem")
    public ResponseDTO<Boolean> removeMusicMenuItem(@RequestBody MusicMenuItemDTO musicMenuItemDTO){
        return musicMenuService.removeMusicMenuItem(musicMenuItemDTO);
    }

    /**
     * 音乐添加歌单操作
     * @param musicMenuItemDTO
     * @return
     */
    @PostMapping("/add")
    public ResponseDTO<Boolean> addMusicMenu(@RequestBody MusicMenuItemDTO musicMenuItemDTO) {
        return musicMenuService.addMusicMenu(musicMenuItemDTO);
    }


    /**
     * 获取歌单总数
     * @return
     */
    @PostMapping("/total")
    public ResponseDTO<Integer> getMusicMenuTotal(){
        return musicMenuService.getMusicMenuTotal();
    }


}
